package com.iocup.keybastion.authorize.element;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 权限元素提供者
 * @author xyjxust
 * @create 2022/3/2
 **/
public interface AuthElementProvider {

    /**
     * 获取所有的认证元素
     *
     * @return
     */
    List<AuthElement> getAuthElement();

    /**
     * 通过key获取相应的认证元素
     *
     * @param key
     * @return
     */
    default List<AuthElement> getAuthElement(String key) {
        return getAuthElement().stream().filter(e -> e.getCode().equalsIgnoreCase(key)).collect(Collectors.toList());
    }
}
